home *** CD-ROM | disk | FTP | other *** search
/ PC Player 2004 May / pc player 2004-05.iso / Demos / FarCry / Data1.cab / _4E567A2DD0EB44B28016D1B88ADBDE23 < prev    next >
Encoding:
Text File  |  2004-01-06  |  2.0 KB  |  61 lines

  1. // ===============================================================
  2. // Fragment Program: CryVision + Glare
  3. // Description: Cryvision + glare, optimized version
  4. // Last Update: 21/10/2003
  5. // Coder: Tiago Sousa
  6. // ===============================================================
  7.  
  8. #include "../CGVPMacro.csi"
  9.  
  10. MainInput 
  11.     uniform sampler2D ScreenTex : texunit0,
  12.     uniform sampler2D GlareTex : texunit1,    
  13.     uniform sampler2D HeatTex : texunit2,    
  14.     uniform sampler2D NoiseTex : texunit3,    
  15.     uniform float4 Glare,
  16.     uniform float4 NVColor
  17. }
  18.  
  19. DeclarationsScript
  20. {
  21.     OUT_T0_T1_T2_T3
  22.     FOUT
  23. }
  24.  
  25. CoreScript
  26. {
  27.   float3 fLuminosity=float3(0.33f, 0.59f, 0.11f);
  28.   float3 fNightColor= float3(-0.1, 0.25, 0.2);
  29.   //float3 fNightColor= float3(-0.1, 0.3, 0.6);
  30.  
  31.     // load the decal
  32.     float4 fScreenColor = tex2D(ScreenTex, IN.Tex0.xy);
  33.     float4 fGlareColor = tex2D(GlareTex, IN.Tex1.xy);
  34.     float4 fHeatColor = tex2D(HeatTex, IN.Tex2.xy);
  35.     float4 fNoiseColor = tex2D(NoiseTex, IN.Tex3.xy);
  36.                 
  37.     // compute luminosity        
  38.     float fScreenLuminosity= dot( fLuminosity, fScreenColor.xyz );          
  39.     float fGlareLuminosity= dot( fLuminosity, fGlareColor.xyz );
  40.         
  41.     float fColor =saturate( fGlareLuminosity );    
  42.     //fColor = saturate(fColor*Glare.w + fScreenLuminosity);
  43.     fColor = saturate(fColor*Glare.w + fScreenLuminosity);
  44.     
  45.     //float3 fFinal= saturate(( (2*fColor*fNoiseColor) + fNightColor*0.4)*(fHeatColor.xyz)*fNoiseColor);    
  46.     //fHeatColor.xyz=fHeatColor.xyz*0.75;
  47.     
  48.     // CG bug, if dot(float3(1, 0, 0), color), it uses some stupid values..
  49.     //float fHeatDetail=dot( float3(1, 0.01, 0), fScreenColor.xyz);
  50.     //float3 fFinalHeat=saturate(fHeatColor.xyz);
  51.         
  52.     //float3 fNightVis=4*saturate(fColor*(2*(fNoiseColor-0.5))*fHeatColor.xyz + fHeatColor.xyz*fNightColor*0.15);                
  53.     //float3 fNightVis=saturate(saturate(2*fColor*fNoiseColor) + fNightColor*0.3)*fFinalHeat*fNoiseColor;                
  54.     float3 fNightVis=saturate(saturate(2*fColor*fNoiseColor) + fNightColor*0.3)*fNoiseColor;                
  55.                           
  56.     OUT.Color.xyz = fNightVis;
  57.     OUT.Color.w = 1;
  58. }
  59.  
  60.